<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GeneticSharp.Domain</name>
    </assembly>
    <members>
        <member name="T:GeneticSharp.Domain.Chromosomes.ChromosomeBase">
             <summary>
             A base class for chromosomes.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Chromosomes.ChromosomeBase" /> class.
             </summary>
             <param name="length">The length, in genes, of the chromosome.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.ChromosomeBase.Fitness">
             <summary>
             Gets or sets the fitness of the chromosome in the current problem.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.ChromosomeBase.Length">
             <summary>
             Gets the length, in genes, of the chromosome.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.op_Equality(GeneticSharp.Domain.Chromosomes.ChromosomeBase,GeneticSharp.Domain.Chromosomes.ChromosomeBase)">
             <summary>
             Implements the operator ==.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.op_Inequality(GeneticSharp.Domain.Chromosomes.ChromosomeBase,GeneticSharp.Domain.Chromosomes.ChromosomeBase)">
             <summary>
             Implements the operator !=.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.op_LessThan(GeneticSharp.Domain.Chromosomes.ChromosomeBase,GeneticSharp.Domain.Chromosomes.ChromosomeBase)">
             <summary>
             Implements the operator &lt;.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.op_GreaterThan(GeneticSharp.Domain.Chromosomes.ChromosomeBase,GeneticSharp.Domain.Chromosomes.ChromosomeBase)">
             <summary>
             Implements the operator &gt;.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.GenerateGene(System.Int32)">
             <summary>
             Generates the gene for the specified index.
             </summary>
             <param name="geneIndex">Gene index.</param>
             <returns>The gene generated at the specified index.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.CreateNew">
             <summary>
             Creates a new chromosome using the same structure of this.
             </summary>
             <returns>The new chromosome.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.Clone">
             <summary>
             Creates a clone.
             </summary>
             <returns>The chromosome clone.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.ReplaceGene(System.Int32,GeneticSharp.Domain.Chromosomes.Gene)">
             <summary>
             Replaces the gene in the specified index.
             </summary>
             <param name="index">The gene index to replace.</param>
             <param name="gene">The new gene.</param>
             <exception cref="T:System.ArgumentOutOfRangeException">index;There is no Gene on index {0} to be replaced..With(index)</exception>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.ReplaceGenes(System.Int32,GeneticSharp.Domain.Chromosomes.Gene[])">
             <summary>
             Replaces the genes starting in the specified index.
             </summary>
             <param name="startIndex">Start index.</param>
             <param name="genes">The genes.</param>
             <remarks>
             The genes to be replaced can't be greater than the available space between the start index and the end of the chromosome.
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.Resize(System.Int32)">
             <summary>
             Resizes the chromosome to the new length.
             </summary>
             <param name="newLength">The new length.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.GetGene(System.Int32)">
             <summary>
             Gets the gene in the specified index.
             </summary>
             <param name="index">The gene index.</param>
             <returns>
             The gene.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.GetGenes">
             <summary>
             Gets the genes.
             </summary>
             <returns>The genes.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.CompareTo(GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Compares the current object with another object of the same type.
             </summary>
             <returns>The to.</returns>
             <param name="other">The other chromosome.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.Equals(System.Object)">
             <summary>
             Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:GeneticSharp.Domain.Chromosomes.ChromosomeBase" />.
             </summary>
             <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:GeneticSharp.Domain.Chromosomes.ChromosomeBase" />.</param>
             <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to the current
             <see cref="T:GeneticSharp.Domain.Chromosomes.ChromosomeBase" />; otherwise, <c>false</c>.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.GetHashCode">
             <summary>
             Returns a hash code for this instance.
             </summary>
             <returns>
             A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.CreateGene(System.Int32)">
             <summary>
             Creates the gene on specified index.
             <remarks>
             It's a shortcut to:  
             <code>
             ReplaceGene(index, GenerateGene(index));
             </code>
             </remarks>
             </summary>
             <param name="index">The gene index.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.CreateGenes">
             <summary>
             Creates all genes
             <remarks>
             It's a shortcut to: 
             <code>
             for (int i = 0; i &lt; Length; i++)
             {
                 ReplaceGene(i, GenerateGene(i));
             }
             </code>
             </remarks>
             </summary>        
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeBase.ValidateLength(System.Int32)">
             <summary>
             Validates the length.
             </summary>
             <param name="length">The length.</param>
             <exception cref="T:System.ArgumentException">The minimum length for a chromosome is 2 genes.</exception>
            </member>
        <member name="T:GeneticSharp.Domain.Chromosomes.IChromosomeOperator">
             <summary>
             Defines a basic interface for operators which works with chromosomes.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.IChromosomeOperator.IsOrdered">
             <summary>
             Gets a value indicating whether the operator is ordered (if can keep the chromosome order).
             </summary>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.CrossoverBase">
             <summary>
             A base class for crossovers.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverBase.#ctor(System.Int32,System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverBase" /> class.
             </summary>
             <param name="parentsNumber">The number of parents need for cross.</param>
             <param name="childrenNumber">The number of children generated by cross.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverBase.#ctor(System.Int32,System.Int32,System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverBase" /> class.
             </summary>
             <param name="parentsNumber">The number of parents need for cross.</param>
             <param name="childrenNumber">The number of children generated by cross.</param>
             <param name="minChromosomeLength">The minimum length of the chromosome supported by the crossover.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.CrossoverBase.IsOrdered">
             <summary>
             Gets or sets a value indicating whether the operator is ordered (if can keep the chromosome order).
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.CrossoverBase.ParentsNumber">
             <summary>
             Gets the number of parents need for cross.
             </summary>
             <value>The parents number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.CrossoverBase.ChildrenNumber">
             <summary>
             Gets the number of children generated by cross.
             </summary>
             <value>The children number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.CrossoverBase.MinChromosomeLength">
             <summary>
             Gets or sets the minimum length of the chromosome supported by the crossover.
             </summary>
             <value>The minimum length of the chromosome.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverBase.Cross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Cross the specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverBase.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.CrossoverException">
             <summary>
             Exception throw when an error occurs during the execution of cross.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor(GeneticSharp.Domain.Crossovers.ICrossover,System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
             <param name="crossover">The crossover where occurred the error.</param>
             <param name="message">The error message.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor(GeneticSharp.Domain.Crossovers.ICrossover,System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
             <param name="crossover">The crossover where occurred the error.</param>
             <param name="message">The error message.</param>
             <param name="innerException">The inner exception.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
             <param name="message">The message that describes the error.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor(System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
             <param name="message">The error message that explains the reason for the exception.</param>
             <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CrossoverException" /> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.CrossoverException.Crossover">
             <summary>
             Gets the crossover.
             </summary>
             <value>The crossover.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
             <PermissionSet>
               <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
               <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
             </PermissionSet>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.CutAndSpliceCrossover">
             <summary>
             Cut and Splice crossover.
             <remarks>
             Results in a change in length of the children strings. The reason for this difference is that each parent string has a separate choice of crossover point.
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#.22Cut_and_splice.22">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CutAndSpliceCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CutAndSpliceCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CutAndSpliceCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.CycleCrossover">
             <summary>
             Cycle Crossover (CX).
             <remarks>
             The Cycle Crossover (CX) proposed by Oliver builds offspring in such a way that each 
             city (and its position) comes from one of the parents.
             <see href="http://arxiv.org/ftp/arxiv/papers/1203/1203.3097.pdf">A Comparative Study of Adaptive Crossover Operators for Genetic Algorithms to Resolve the Traveling Salesman Problem</see>
             <para>
             The Cycle Crossover operator identifies a number of so-called cycles between two parent chromosomes. 
             Then, to form Child 1, cycle one is copied from parent 1, cycle 2 from parent 2, cycle 3 from parent 1, and so on.
             <see ref="http://www.rubicite.com/Tutorials/GeneticAlgorithms/CrossoverOperators/CycleCrossoverOperator.aspx">Crossover Technique: Cycle Crossover</see>
             </para>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CycleCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.CycleCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CycleCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CycleCrossover.CopyCycleIndexPair(System.Collections.Generic.IList{System.Int32},GeneticSharp.Domain.Chromosomes.Gene[],GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.Gene[],GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Copies the cycle index pair.
             </summary>
             <param name="cycle">The cycle.</param>
             <param name="fromParent1Genes">From parent1 genes.</param>
             <param name="toOffspring1">To offspring1.</param>
             <param name="fromParent2Genes">From parent2 genes.</param>
             <param name="toOffspring2">To offspring2.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CycleCrossover.CreateCycle(GeneticSharp.Domain.Chromosomes.Gene[],GeneticSharp.Domain.Chromosomes.Gene[],System.Int32,System.Collections.Generic.List{System.Int32})">
             <summary>
             Creates the cycle recursively.
             </summary>
             <param name="parent1Genes">The parent one's genes.</param>
             <param name="parent2Genes">The parent two's genes.</param>
             <param name="geneIndex">The current gene index.</param>
             <param name="cycle">The cycle.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.OnePointCrossover">
             <summary>
             One-Point crossover (C1).
             <remarks>
             A single crossover point on both parents is selected. 
             All data beyond that point in either is swapped between the two parents.    
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#One-point_crossover">One-point crossover</see>
             <example>
             Parents: 
             |0|0|0| x |1|1|1|
             Have two swap points indexes: 0 and 1.
             <para>
             1) 
             new OnePointCrossover(0);
             Children result:
             |0|1|1| and |1|0|0|
             </para>
             <para>
             2) 
             new OnePointCrossover(1);
             Children result:
             |0|0|1| and |1|1|0|
             </para>
             </example>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OnePointCrossover.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.OnePointCrossover" /> class.
             </summary>
             <param name="swapPointIndex">Swap point index.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OnePointCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.OnePointCrossover" /> class.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.OnePointCrossover.SwapPointIndex">
             <summary>
             Gets or sets the index of the swap point.
             </summary>
             <value>The index of the swap point.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OnePointCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OnePointCrossover.CreateChildren(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Creates the children.
             </summary>
             <param name="firstParent">The first parent.</param>
             <param name="secondParent">The second parent.</param>
             <returns>The children chromosomes.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OnePointCrossover.CreateChild(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Creates the child.
             </summary>
             <returns>The child.</returns>
             <param name="leftParent">Left parent.</param>
             <param name="rightParent">Right parent.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.OrderedCrossover">
             <summary>
             Ordered Crossover (OX1).
             <remarks>
             Also know as: Order Crossover.
             <para>
             A portion of one parent is mapped to a portion of the other parent. 
             From the replaced portion on, the rest is filled up by the remaining genes, where already present genes are omitted and the order is preserved.
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#Crossover_for_Ordered_Chromosomes">Crossover for Ordered Chromosomes</see>
             </para>
             <para>
             The Ordered Crossover method is presented by Goldberg, is used when the problem is of order based, 
             for example in Ushaped assembly line balancing etc. Given two parent 
             chromosomes, two random crossover points are selected 
             partitioning them into a left, middle and right portion. The 
             ordered two-point crossover behaves in the following way: 
             child1 inherits its left and right section from parent1, and its middle section is determined.
             <see href="http://arxiv.org/ftp/arxiv/papers/1203/1203.3097.pdf">A Comparative Study of Adaptive Crossover Operators for Genetic Algorithms to Resolve the Traveling Salesman Problem</see>
             </para>
             <para>
             The order crossover operator (Figure 4) was proposed by Davis (1985). 
             The OX1 exploits a property of the path representation, that the order of cities (not their positions) are important. 
             <see href="http://lev4projdissertation.googlecode.com/svn-history/r100/trunk/reading/read/aiRev99.pdf">Genetic Algorithms for the Travelling Salesman Problem - A Review of Representations and Operators</see>
             </para>
             <para>
             Order 1 Crossover is a fairly simple permutation crossover. 
             Basically, a swath of consecutive alleles from parent 1 drops down, 
             and remaining values are placed in the child in the order which they appear in parent 2.
             <see href="http://www.rubicite.com/Tutorials/GeneticAlgorithms/CrossoverOperators/Order1CrossoverOperator.aspx">Order 1 Crossover</see>
             </para>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderedCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.OrderedCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderedCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderedCrossover.CreateChild(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome,System.Int32,System.Int32)">
             <summary>
             Creates the child.
             </summary>
             <returns>The child.</returns>
             <param name="firstParent">First parent.</param>
             <param name="secondParent">Second parent.</param>
             <param name="middleSectionBeginIndex">Middle section begin index.</param>
             <param name="middleSectionEndIndex">Middle section end index.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.ThreeParentCrossover">
             <summary>
             Three Parent Crossover.
             <remarks>
             In this technique, the child is derived from three parents. 
             They are randomly chosen. Each bit of first parent is checked with bit of second parent whether they are same. 
             If same then the bit is taken for the offspring otherwise the bit from the third parent is taken for the offspring.
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#Three_parent_crossover">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.ThreeParentCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.ThreeParentCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.ThreeParentCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.TwoPointCrossover">
             <summary>
             Two-Point Crossover (C2)
             <remarks>
             Two-point crossover calls for two points to be selected on the parents. 
             Everything between the two points is swapped between the parents, rendering two children.
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#Two-point_crossover">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.TwoPointCrossover.#ctor(System.Int32,System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.TwoPointCrossover" /> class.
             </summary>
             <param name="swapPointOneGeneIndex">Swap point one gene index.</param>
             <param name="swapPointTwoGeneIndex">Swap point two gene index.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.TwoPointCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.TwoPointCrossover" /> class.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.TwoPointCrossover.SwapPointOneGeneIndex">
             <summary>
             Gets or sets the index of the swap point one gene.
             </summary>
             <value>The index of the swap point one gene.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.TwoPointCrossover.SwapPointTwoGeneIndex">
             <summary>
             Gets or sets the index of the swap point two gene.
             </summary>
             <value>The index of the swap point two gene.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.TwoPointCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.TwoPointCrossover.CreateChild(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Creates the child.
             </summary>
             <returns>The child.</returns>
             <param name="leftParent">Left parent.</param>
             <param name="rightParent">Right parent.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.UniformCrossover">
             <summary>
             The Uniform Crossover uses a fixed mixing ratio between two parents. 
             Unlike one-point and two-point crossover, the Uniform Crossover enables the parent chromosomes to contribute the gene level rather than the segment level.
             <remarks>
             If the mix probability is 0.5, the offspring has approximately half of the genes from first parent and the other half from second parent, although cross over points can be randomly chosen.
             </remarks>
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)#Uniform_Crossover_and_Half_Uniform_Crossover">Wikipedia</see>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.UniformCrossover.#ctor(System.Single)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.UniformCrossover" /> class.
             </summary>
             <param name="mixProbability">The mix probability. he default mix probability is 0.5.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.UniformCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.UniformCrossover" /> class.
             <remarks>
             The default mix probability is 0.5.
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.UniformCrossover.MixProbability">
             <summary>
             Gets or sets the mix probability.
             </summary>
             <value>The mix probability.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.UniformCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.MutationBase">
             <summary>
             Base class for IMutation's implementation.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Mutations.MutationBase.IsOrdered">
             <summary>
             Gets or sets a value indicating whether the operator is ordered (if can keep the chromosome order).
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationBase.Mutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationBase.PerformMutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.ReverseSequenceMutation">
             <summary>
             Reverse Sequence Mutation (RSM).
             <remarks>
             In the reverse sequence mutation operator, we take a sequence S limited by two 
             positions i and j randomly chosen, such that i&lt;j. The gene order in this sequence 
             will be reversed by the same way as what has been covered in the previous operation.
             <see href="http://arxiv.org/ftp/arxiv/papers/1203/1203.3099.pdf">Analyzing the Performance of Mutation Operators to Solve the Travelling Salesman Problem</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.ReverseSequenceMutation.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.ReverseSequenceMutation" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.ReverseSequenceMutation.PerformMutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.TworsMutation">
             <summary>
             Twors mutation allows the exchange of position of two genes randomly chosen.
             <remarks>
             <see href="http://arxiv.org/ftp/arxiv/papers/1203/1203.3099.pdf">Analyzing the Performance of Mutation Operators to Solve the Travelling Salesman Problem</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.TworsMutation.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.TworsMutation" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.TworsMutation.PerformMutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.IGenerationStrategy">
             <summary>
             Defines a strategy to some key points of generation behavior inside a population.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.IGenerationStrategy.RegisterNewGeneration(GeneticSharp.Domain.Populations.IPopulation)">
             <summary>
             Register that a new generation has been created.
             </summary>
             <param name="population">The population where the new generation has been created.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy">
             <summary>
             An IGenerationStrategy's implementation which takes into account the performance and just keep the last one generations in the population.
             <remarks>
             This strategy is not good for tracking all the generations, for this case use TrackingGenerationStrategy, 
             but is the best one when you have a very long term termination.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy" /> class.
             </summary>
             <param name="generationsNumber">The number of generations to keep in the population</param>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy.GenerationsNumber">
             <summary>
             Gets or sets the number of generations to keep in the population.
             <remars>The default is 1.</remars>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PerformanceGenerationStrategy.RegisterNewGeneration(GeneticSharp.Domain.Populations.IPopulation)">
             <summary>
             Register that a new generation has been created.
             </summary>
             <param name="population">The population where the new generation has been created.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.TrackingGenerationStrategy">
             <summary>
             An IGenerationStrategy's implementation that keeps all generations to further evaluation.
             <remarks>
             This strategy can be slow and can suffer of OutOfMemoryException when you have great population and a long term termination.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.TrackingGenerationStrategy.RegisterNewGeneration(GeneticSharp.Domain.Populations.IPopulation)">
             <summary>
             Register that a new generation has been created.
             </summary>
             <param name="population">The population where the new generation has been created.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Chromosomes.IChromosome">
             <summary>
             Defines an interface for a chromosome.
             <remarks>
             In genetic algorithms, a chromosome (also sometimes called a genome) is a set of parameters 
             which define a proposed solution to the problem that the genetic algorithm is trying to solve. 
             The chromosome is often represented as a simple string, although a wide variety of other data 
             structures are also used.
             <see href="http://en.wikipedia.org/wiki/Chromosome_(genetic_algorithm)">http://en.wikipedia.org/wiki/Chromosome_(genetic_algorithm)</see> 
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.IChromosome.Fitness">
             <summary>
             Gets or sets the fitness.
             </summary>
             <value>The fitness.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.IChromosome.Length">
             <summary>
             Gets the length.
             </summary>
             <value>The length.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.GenerateGene(System.Int32)">
             <summary>
             Generates the gene for the specified index.
             </summary>
             <returns>The gene.</returns>
             <param name="geneIndex">Gene index.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.ReplaceGene(System.Int32,GeneticSharp.Domain.Chromosomes.Gene)">
             <summary>
             Replaces the gene in the specified index.
             </summary>
             <param name="index">The gene index to replace.</param>
             <param name="gene">The new gene.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.ReplaceGenes(System.Int32,GeneticSharp.Domain.Chromosomes.Gene[])">
             <summary>
             Replaces the genes starting in the specified index.
             </summary>
             <remarks>
             The genes to be replaced can't be greater than the available space between the start index and the end of the chromosome.
             </remarks>
             <param name="startIndex">Start index.</param>
             <param name="genes">The genes.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.Resize(System.Int32)">
             <summary>
             Resizes the chromosome to the new length.
             </summary>
             <param name="newLength">The new length.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.GetGene(System.Int32)">
             <summary>
             Gets the gene in the specified index.
             </summary>
             <returns>The gene.</returns>
             <param name="index">The gene index.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.GetGenes">
             <summary>
             Gets the genes.
             </summary>
             <returns>The genes.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.CreateNew">
             <summary>
             Creates a new chromosome using the same structure of this.
             </summary>
             <returns>The new chromosome.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.IChromosome.Clone">
             <summary>
             Creates a clone.
             </summary>
             <returns>The chromosome clone.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Chromosomes.Gene">
             <summary>
             Represents a gene of a chromosome.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.#ctor(System.Object)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" /> struct.
             </summary>
             <param name="value">The gene initial value.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Chromosomes.Gene.Value">
             <summary>
             Gets the value.
             </summary>
             <value>The value.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.op_Equality(GeneticSharp.Domain.Chromosomes.Gene,GeneticSharp.Domain.Chromosomes.Gene)">
             <summary>
             Implements the operator ==.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.op_Inequality(GeneticSharp.Domain.Chromosomes.Gene,GeneticSharp.Domain.Chromosomes.Gene)">
             <summary>
             Implements the operator !=.
             </summary>
             <param name="first">The first.</param>
             <param name="second">The second.</param>
             <returns>
             The result of the operator.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.ToString">
             <summary>
             Returns a <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.
             </summary>
             <returns>A <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.Equals(GeneticSharp.Domain.Chromosomes.Gene)">
             <summary>
             Determines whether the specified <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" /> is equal to the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.
             </summary>
             <param name="other">The <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" /> to compare with the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.</param>
             <returns><c>true</c> if the specified <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" /> is equal to the current
             <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />; otherwise, <c>false</c>.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.Equals(System.Object)">
             <summary>
             Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.
             </summary>
             <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />.</param>
             <returns><c>true</c> if the specified <see cref="T:System.Object" /> is equal to the current
             <see cref="T:GeneticSharp.Domain.Chromosomes.Gene" />; otherwise, <c>false</c>.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.Gene.GetHashCode">
             <summary>
             Returns a hash code for this instance.
             </summary>
             <returns>
             A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.Population">
             <summary>
             Represents a population of candidate solutions (chromosomes).
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Population.#ctor(System.Int32,System.Int32,GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Populations.Population" /> class.
             </summary>
             <param name="minSize">The minimum size (chromosomes).</param>
             <param name="maxSize">The maximum size (chromosomes).</param>
             <param name="adamChromosome">The original chromosome of all population ;).</param>
            </member>
        <member name="E:GeneticSharp.Domain.Populations.Population.BestChromosomeChanged">
             <summary>
             Occurs when best chromosome changed.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.CreationDate">
             <summary>
             Gets or sets the creation date.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.Generations">
             <summary>
             Gets or sets the generations.
             <remarks>
             The information of Generations can vary depending of the IGenerationStrategy used.
             </remarks>
             </summary>
             <value>The generations.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.CurrentGeneration">
             <summary>
             Gets or sets the current generation.
             </summary>
             <value>The current generation.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.GenerationsNumber">
             <summary>
             Gets or sets the total number of generations executed.
             <remarks>
             Use this information to know how many generations have been executed, because Generations.Count can vary depending of the IGenerationStrategy used.
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.MinSize">
             <summary>
             Gets or sets the minimum size.
             </summary>
             <value>The minimum size.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.MaxSize">
             <summary>
             Gets or sets the size of the max.
             </summary>
             <value>The size of the max.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.BestChromosome">
             <summary>
             Gets or sets the best chromosome.
             </summary>
             <value>The best chromosome.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.GenerationStrategy">
             <summary>
             Gets or sets the generation strategy.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Population.AdamChromosome">
             <summary>
             Gets or sets the original chromosome of all population.
             </summary>
             <value>The adam chromosome.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Population.CreateInitialGeneration">
             <summary>
             Creates the initial generation.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Population.CreateNewGeneration(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Creates a new generation.
             </summary>
             <param name="chromosomes">The chromosomes for new generation.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Population.EndCurrentGeneration">
             <summary>
             Ends the current generation.
             </summary>        
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Population.OnBestChromosomeChanged(System.EventArgs)">
             <summary>
             Raises the best chromosome changed event.
             </summary>
             <param name="args">The event arguments.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.Generation">
             <summary>
             Represents a generation of a population.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Generation.#ctor(System.Int32,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Populations.Generation" /> class.
             </summary>
             <param name="number">The generation number.</param>
             <param name="chromosomes">The chromosomes of the generation..</param>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Generation.Number">
             <summary>
             Gets the number.
             </summary>
             <value>The number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Generation.CreationDate">
             <summary>
             Gets the creation date.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Generation.Chromosomes">
             <summary>
             Gets the chromosomes.
             </summary>
             <value>The chromosomes.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.Generation.BestChromosome">
             <summary>
             Gets the best chromosome.
             </summary>
             <value>The best chromosome.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Generation.End(System.Int32)">
             <summary>
             Ends the generation.
             </summary>
             <param name="chromosomesNumber">Chromosomes number to keep on generation.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.Generation.ValidateChromosome(GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Validates the chromosome.
             </summary>
             <param name="chromosome">The chromosome to validate.</param>
             <returns>True if a chromosome is valid.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Fitnesses.IFitness">
             <summary>
             Defines an interface for fitness function.
             <remarks>
             A fitness function is a particular type of objective function that is used to summarize, as a single figure of merit, how close a given design solution is to achieving the set aims.
             <see href="http://en.wikipedia.org/wiki/Fitness_function">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.IFitness.Evaluate(GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Performs the evaluation against the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome to be evaluated.</param>
             <returns>The fitness of the chromosome.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.IMutation">
             <summary>
             Mutation is a genetic operator used to maintain genetic diversity from one generation of a population of genetic algorithm 
             chromosomes to the next. It is analogous to biological mutation. Mutation alters one or more gene values in a chromosome from 
             its initial state. In mutation, the solution may change entirely from the previous solution. Hence GA can come to better solution 
             by using mutation. Mutation occurs during evolution according to a user-definable mutation probability. This probability should be 
             set low. If it is set too high, the search will turn into a primitive random search.
             <para>
             The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic sequence will be changed 
             from its original state. A common method of implementing the mutation operator involves generating a random variable for each bit 
             in a sequence. This random variable tells whether or not a particular bit will be modified.This mutation procedure, based on the 
             biological point mutation, is called single point mutation. Other types are inversion and floating point mutation. When the gene 
             encoding is restrictive as in permutation problems, mutations are swaps, inversions, and scrambles.
             </para>
             <para>
             The purpose of mutation in GAs is preserving and introducing diversity. Mutation should allow the algorithm to avoid local minima 
             by preventing the population of chromosomes from becoming too similar to each other, thus slowing or even stopping evolution. 
             This reasoning also explains the fact that most GA systems avoid only taking the fittest of the population in generating the next 
             but rather a random (or semi-random) selection with a weighting toward those that are fitter.
             </para>
             <see href="http://en.wikipedia.org/wiki/Mutation_(genetic_algorithm)" /> 
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.IMutation.Mutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.UniformMutation">
             <summary>
             This operator replaces the value of the chosen gene with a uniform random value selected 
             between the user-specified upper and lower bounds for that gene. 
             <see href="http://en.wikipedia.org/wiki/Mutation_(genetic_algorithm)">Wikipedia</see>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.UniformMutation.#ctor(System.Int32[])">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.UniformMutation" /> class.
             </summary>
             <param name="mutableGenesIndexes">Mutable genes indexes.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.UniformMutation.#ctor(System.Boolean)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.UniformMutation" /> class.
             </summary>
             <param name="allGenesMutable">If set to <c>true</c> all genes are mutable.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.UniformMutation.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.UniformMutation" /> class.
             </summary>
             <remarks>Creates an instance of UniformMutation where some random genes will be mutated.</remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.UniformMutation.PerformMutate(GeneticSharp.Domain.Chromosomes.IChromosome,System.Single)">
             <summary>
             Mutate the specified chromosome.
             </summary>
             <param name="chromosome">The chromosome.</param>
             <param name="probability">The probability to mutate each chromosome.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.ICrossover">
             <summary>
             Defines a interface for a crossover genetic operator.
             <remarks>
             In genetic algorithms, crossover is a genetic operator used to vary the programming of a chromosome
             or chromosomes from one generation to the next. 
             <para>
             It is analogous to reproduction and biological crossover, upon which genetic algorithms are based. 
             Cross over is a process of taking more than one parent solutions and producing a child solution from them.
             </para>
             <see href="http://en.wikipedia.org/wiki/Crossover_(genetic_algorithm)">Crossover (Genetic Algorithm)</see>
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.ICrossover.ParentsNumber">
             <summary>
             Gets the number of parents need for cross.
             </summary>
             <value>The parents number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.ICrossover.ChildrenNumber">
             <summary>
             Gets the number of children generated by cross.
             </summary>
             <value>The children number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Crossovers.ICrossover.MinChromosomeLength">
             <summary>
             Gets the minimum length of the chromosome supported by the crossover.
             </summary>
             <value>The minimum length of the chromosome.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.ICrossover.Cross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Cross the specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="T:SharpNeatLib.Maths.FastRandom">
             <summary>
             A fast random number generator for .NET
             Colin Green, January 2005
             
             September 4th 2005
            	 Added NextBytesUnsafe() - commented out by default.
            	 Fixed bug in Reinitialise() - y,z and w variables were not being reset.
             
             Key points:
              1) Based on a simple and fast xor-shift pseudo random number generator (RNG) specified in: 
              Marsaglia, George. (2003). Xorshift RNGs.
              http://www.jstatsoft.org/v08/i14/xorshift.pdf
              
              This particular implementation of xorshift has a period of 2^128-1. See the above paper to see
              how this can be easily extened if you need a longer period. At the time of writing I could find no 
              information on the period of System.Random for comparison.
             
              2) Faster than System.Random. Up to 8x faster, depending on which methods are called.
             
              3) Direct replacement for System.Random. This class implements all of the methods that System.Random 
              does plus some additional methods. The like named methods are functionally equivalent.
              
              4) Allows fast re-initialisation with a seed, unlike System.Random which accepts a seed at construction
              time which then executes a relatively expensive initialisation routine. This provides a vast speed improvement
              if you need to reset the pseudo-random number sequence many times, e.g. if you want to re-generate the same
              sequence many times. An alternative might be to cache random numbers in an array, but that approach is limited
              by memory capacity and the fact that you may also want a large number of different sequences cached. Each sequence
              can each be represented by a single seed value (int) when using FastRandom.
              
              Notes.
              A further performance improvement can be obtained by declaring local variables as static, thus avoiding 
              re-allocation of variables on each call. However care should be taken if multiple instances of
              FastRandom are in use or if being used in a multi-threaded environment.
             
             </summary>    
            </member>
        <member name="M:SharpNeatLib.Maths.FastRandom.#ctor(System.Int32)">
             <summary>
             Initialises a new instance using an int value as seed.
             This constructor signature is provided to maintain compatibility with
             System.Random
             </summary>
            </member>
        <member name="M:SharpNeatLib.Maths.FastRandom.Reinitialize(System.Int32)">
             <summary>
             Reinitialises using an int value as a seed.
             </summary>
             <param name="seed"></param>
            </member>
        <member name="M:SharpNeatLib.Maths.FastRandom.Next(System.Int32,System.Int32)">
             <summary>
             Generates a random int over the range lowerBound to upperBound-1, and not including upperBound.
             upperBound must be &gt;= lowerBound. lowerBound may be negative.
             </summary>
             <param name="lowerBound"></param>
             <param name="upperBound"></param>
             <returns></returns>
            </member>
        <member name="M:SharpNeatLib.Maths.FastRandom.NextDouble">
             <summary>
             Generates a random double. Values returned are from 0.0 up to but not including 1.0.
             </summary>
             <returns></returns>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.FastRandomRandomization">
             <summary>
             An IRandomization using FastRandom has pseudo-number generator.
             <see href="http://www.codeproject.com/Articles/9187/A-fast-equivalent-for-System-Random" />
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.FastRandomRandomization.GetInt(System.Int32,System.Int32)">
             <summary>
             Gets an integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.FastRandomRandomization.GetFloat">
             <summary>
             Gets a float value between 0.0 and 1.0.
             </summary>
             <returns>
             The float value.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.FastRandomRandomization.GetDouble">
             <summary>
             Gets a double value between 0.0 and 1.0.
             </summary>
             <returns>The double value.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.IRandomization">
             <summary>
             Defines an interface for randomization.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetInt(System.Int32,System.Int32)">
             <summary>
             Gets an integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetInts(System.Int32,System.Int32,System.Int32)">
             <summary>
             Gets an integer array with values between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer array.</returns>
             <param name="length">The array length</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetUniqueInts(System.Int32,System.Int32,System.Int32)">
             <summary>
             Gets an integer array with unique values between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer array.</returns>
             <param name="length">The array length</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetFloat">
             <summary>
             Gets a float value between 0.0 and 1.0.
             </summary>
             <returns>The float value.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetFloat(System.Single,System.Single)">
             <summary>
             Gets a float value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The float value.</returns>
             <param name="min">Minimum value.</param>
             <param name="max">Max value.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetDouble">
             <summary>
             Gets a double value between 0.0 and 1.0.
             </summary>
             <returns>The double value.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.IRandomization.GetDouble(System.Double,System.Double)">
             <summary>
             Gets a double value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The double value.</returns>
             <param name="min">Minimum value.</param>
             <param name="max">Max value.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.RandomizationBase">
             <summary>
             Base class for randomization.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetInt(System.Int32,System.Int32)">
             <summary>
             Gets an integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetFloat">
             <summary>
             Gets a float value between 0.0 and 1.0.
             </summary>
             <returns>
             The float value.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetDouble">
             <summary>
             Gets a double value between 0.0 and 1.0.
             </summary>
             <returns>The double value.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetInts(System.Int32,System.Int32,System.Int32)">
             <summary>
             Gets an integer array with values between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer array.</returns>
             <param name="length">The array length</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetUniqueInts(System.Int32,System.Int32,System.Int32)">
             <summary>
             Gets an integer array with unique values between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer array.</returns>
             <param name="length">The array length</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetFloat(System.Single,System.Single)">
             <summary>
             Gets a float value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <param name="min">Minimum value.</param>
             <param name="max">Max value.</param>
             <returns>
             The float value.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationBase.GetDouble(System.Double,System.Double)">
             <summary>
             Gets a double value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The double value.</returns>
             <param name="min">Minimum value.</param>
             <param name="max">Max value.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.RandomizationExtensions">
             <summary>
             Extension methods for IRandomization.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationExtensions.GetEvenInt(GeneticSharp.Domain.Randomizations.IRandomization,System.Int32,System.Int32)">
             <summary>
             Gets an even integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="randomization">The IRandomization implementation.</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationExtensions.GetOddInt(GeneticSharp.Domain.Randomizations.IRandomization,System.Int32,System.Int32)">
             <summary>
             Gets an odd integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="randomization">The IRandomization implementation.</param>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.RandomizationProvider">
             <summary>
             The randomization provider use for all elements of current genetic algorithm execution.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.RandomizationProvider.#ctor">
             <summary>
             Initializes static members of the <see cref="T:GeneticSharp.Domain.Randomizations.RandomizationProvider" /> class.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Randomizations.RandomizationProvider.Current">
             <summary>
             Gets or sets the current IRandomization implementation.
             </summary>
             <value>The current.</value>
            </member>
        <member name="T:GeneticSharp.Domain.Randomizations.BasicRandomization">
             <summary>
             An IRandomization implementation using System.Random has pseudo-number generator.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.BasicRandomization.GetInt(System.Int32,System.Int32)">
             <summary>
             Gets an integer value between minimum value (inclusive) and maximum value (exclusive).
             </summary>
             <returns>The integer.</returns>
             <param name="min">Minimum value (inclusive).</param>
             <param name="max">Maximum value (exclusive).</param>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.BasicRandomization.GetFloat">
             <summary>
             Gets a float value between 0.0 and 1.0.
             </summary>
             <returns>
             The float value.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Randomizations.BasicRandomization.GetDouble">
             <summary>
             Gets a double value between 0.0 and 1.0.
             </summary>
             <returns>The double value.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.IReinsertion">
             <summary>
             Defines an interface for reinsertions.
             <remarks>
             If less offspring are produced than the min size of the original population then to 
             maintain the size of the population, the offspring have to be reinserted 
             into the old population. Similarly, if not all offspring are to be used at each 
             generation or if more offspring are generated than the max size of the  
             population then a reinsertion scheme must be used to determine which individuals are to exist in the new population
             <see href="http://usb-bg.org/Bg/Annual_Informatics/2011/SUB-Informatics-2011-4-29-35.pdf">Generalized Nets Model of offspring Reinsertion in Genetic Algorithm</see>
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Reinsertions.IReinsertion.CanCollapse">
             <summary>
             Gets a value indicating whether can collapse the number of selected chromosomes for reinsertion.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Reinsertions.IReinsertion.CanExpand">
             <summary>
             Gets a value indicating whether can expand the number of selected chromosomes for reinsertion.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.IReinsertion.SelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.ReinsertionService">
             <summary>
             Reinsertion service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionService.GetReinsertionTypes">
             <summary>
             Gets available reinsertion types.
             </summary>
             <returns>All available reinsertion types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionService.GetReinsertionNames">
             <summary>
             Gets the available reinsertion names.
             </summary>
             <returns>The reinsertion names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionService.CreateReinsertionByName(System.String,System.Object[])">
             <summary>
             Creates the IReinsertion's implementation with the specified name.
             </summary>
             <returns>The reinsertion implementation instance.</returns>
             <param name="name">The reinsertion name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionService.GetReinsertionTypeByName(System.String)">
             <summary>
             Gets the reinsertion type by the name.
             </summary>
             <returns>The reinsertion type.</returns>
             <param name="name">The name of reinsertion.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.EliteSelection">
             <summary>
             Selects the chromosomes with the best fitness.
             </summary>
             <remarks>
             Also know as: Truncation Selection.
             </remarks>    
            </member>
        <member name="M:GeneticSharp.Domain.Selections.EliteSelection.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.EliteSelection" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.EliteSelection.PerformSelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Performs the selection of chromosomes from the generation specified.
             </summary>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
             <returns>The select chromosomes.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.RouletteWheelSelection">
             <summary>
             Roulette Wheel Selection
             <remarks>
             Is a kind of Fitness Proportionate Selection. 
             <see href=" http://watchmaker.uncommons.org/manual/ch03s02.html">Fitness-Proportionate Selection</see>
             <para>
             In the Roulette wheel selection method [Holland, 1992], the first step is to calculate the cumulative fitness of the 
             whole population through the sum of the fitness of all individuals. After that, the probability of selection is 
             calculated for each individual.
             </para>
             <para>
             Then, an array is built containing cumulative probabilities of the individuals. So, n random numbers are generated in the range 0 to fitness sum.
             and for each random number an array element which can have higher value is searched for. Therefore, individuals are selected according to their 
             probabilities of selection. 
             </para>
             <see href="http://en.wikipedia.org/wiki/Fitness_proportionate_selection">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.RouletteWheelSelection.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.RouletteWheelSelection" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.RouletteWheelSelection.SelectFromWheel(System.Int32,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{System.Double},System.Func{System.Double})">
             <summary>
             Selects from wheel.
             </summary>
             <param name="number">The number.</param>
             <param name="chromosomes">The chromosomes.</param>
             <param name="rouletteWheel">The roulette wheel.</param>
             <param name="getPointer">The get pointer.</param>
             <returns>The selected chromosomes.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.RouletteWheelSelection.CalculateCumulativePercentFitness(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{System.Double})">
             <summary>
             Calculates the cumulative percent.
             </summary>
             <param name="chromosomes">The chromosomes.</param>
             <param name="rouletteWheel">The roulette wheel.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.RouletteWheelSelection.PerformSelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Performs the selection of chromosomes from the generation specified.
             </summary>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
             <returns>The select chromosomes.</returns>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.ISelection">
             <summary>
             Defines a interface for selection.
             Selection is the stage of a genetic algorithm in which individual genomes are chosen from a population for later breeding (recombination or crossover).
             <see href="http://en.wikipedia.org/wiki/Selection_(genetic_algorithm)">Wikipedia</see>
             <see href=" http://www.ijest.info/docs/IJEST11-03-05-190.pdf">A Review of Selection Methods in Genetic Algorithm</see>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.ISelection.SelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Selects the number of chromosomes from the generation specified.
             </summary>
             <returns>The selected chromosomes.</returns>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.SelectionBase">
             <summary>
             A base class for selection.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionBase.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionBase" /> class.
             </summary>
             <param name="minNumberChromosomes">Minimum number chromosomes support to be selected.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionBase.SelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Selects the number of chromosomes from the generation specified.
             </summary>
             <returns>The selected chromosomes.</returns>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionBase.PerformSelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Performs the selection of chromosomes from the generation specified.
             </summary>
             <returns>The selected chromosomes.</returns>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.MutationException">
             <summary>
             Exception throw when an error occurs during the execution of mutate.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor(GeneticSharp.Domain.Mutations.IMutation,System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
             <param name="mutation">The mutation where occurred the error.</param>
             <param name="message">The error message.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor(GeneticSharp.Domain.Mutations.IMutation,System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
             <param name="mutation">The Mutation where occurred the error.</param>
             <param name="message">The error message.</param>
             <param name="innerException">The inner exception.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
             <param name="message">The message that describes the error.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor(System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
             <param name="message">The error message that explains the reason for the exception.</param>
             <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Mutations.MutationException" /> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Mutations.MutationException.Mutation">
             <summary>
             Gets the mutation.
             </summary>
             <value>The mutation.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
             <PermissionSet>
               <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
               <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
             </PermissionSet>
            </member>
        <member name="T:GeneticSharp.Domain.Fitnesses.FitnessException">
             <summary>
             Exception throw when an error occurs during the execution of fitness evaluation.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor(GeneticSharp.Domain.Fitnesses.IFitness,System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
             <param name="fitness">The fitness where occurred the error.</param>
             <param name="message">The error message.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor(GeneticSharp.Domain.Fitnesses.IFitness,System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
             <param name="fitness">The fitness where occurred the error.</param>
             <param name="message">The error message.</param>
             <param name="innerException">Inner exception.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
             <param name="message">The message that describes the error.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor(System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
             <param name="message">The error message that explains the reason for the exception.</param>
             <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Fitnesses.FitnessException" /> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Fitnesses.FitnessException.Fitness">
             <summary>
             Gets the fitness.
             </summary>
             <value>The fitness.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Fitnesses.FitnessException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
             <PermissionSet>
               <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
               <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
             </PermissionSet>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.CrossoverService">
             <summary>
             Crossover service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverService.GetCrossoverTypes">
             <summary>
             Gets available crossover types.
             </summary>
             <returns>All available crossover types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverService.GetCrossoverNames">
             <summary>
             Gets the available crossover names.
             </summary>
             <returns>The crossover names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverService.CreateCrossoverByName(System.String,System.Object[])">
             <summary>
             Creates the ICrossover's implementation with the specified name.
             </summary>
             <returns>The crossover implementation instance.</returns>
             <param name="name">The crossover name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.CrossoverService.GetCrossoverTypeByName(System.String)">
             <summary>
             Gets the crossover type by the name.
             </summary>
             <returns>The crossover type.</returns>
             <param name="name">The name of crossover.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Mutations.MutationService">
             <summary>
             Mutation service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationService.GetMutationTypes">
             <summary>
             Gets available mutation types.
             </summary>
             <returns>All available mutation types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationService.GetMutationNames">
             <summary>
             Gets the available mutation names.
             </summary>
             <returns>The mutation names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationService.CreateMutationByName(System.String,System.Object[])">
             <summary>
             Creates the IMutation's implementation with the specified name.
             </summary>
             <returns>The IMutation's implementation instance.</returns>
             <param name="name">The IMutation name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Mutations.MutationService.GetMutationTypeByName(System.String)">
             <summary>
             Gets the mutation type by the name.
             </summary>
             <returns>The mutation type.</returns>
             <param name="name">The name of mutation.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.SelectionException">
             <summary>
             Exception throw when an error occurs during the execution of selection.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor(GeneticSharp.Domain.Selections.ISelection,System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
             <param name="selection">The Selection where occurred the error.</param>
             <param name="message">The error message.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor(GeneticSharp.Domain.Selections.ISelection,System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
             <param name="selection">The Selection where occurred the error.</param>
             <param name="message">The error message.</param>
             <param name="innerException">The inner exception.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
             <param name="message">The message that describes the error.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor(System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
             <param name="message">The error message that explains the reason for the exception.</param>
             <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.SelectionException" /> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Selections.SelectionException.Selection">
             <summary>
             Gets the Selection.
             </summary>
             <value>The Selection.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
             <PermissionSet>
               <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
               <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
             </PermissionSet>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.SelectionService">
             <summary>
             Selection service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionService.GetSelectionTypes">
             <summary>
             Gets available selection types.
             </summary>
             <returns>All available selection types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionService.GetSelectionNames">
             <summary>
             Gets the available selection names.
             </summary>
             <returns>The selection names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionService.CreateSelectionByName(System.String,System.Object[])">
             <summary>
             Creates the ISelection's implementation with the specified name.
             </summary>
             <returns>The selection implementation instance.</returns>
             <param name="name">The selection name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.SelectionService.GetSelectionTypeByName(System.String)">
             <summary>
             Gets the selection type by the name.
             </summary>
             <returns>The selection type.</returns>
             <param name="name">The name of selection.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.PartiallyMappedCrossover">
             <summary>
             Partially mapped crossover (PMX).
             <remarks>
             The partially-mapped crossover operator was suggested by Gold- berg and Lingle (1985). 
             It passes on ordering and value information from the parent tours to the offspring tours. 
             A portion of one parent’s string is mapped onto a portion of the other parent’s string and the remaining information is exchanged.
             <see href="http://lev4projdissertation.googlecode.com/svn-history/r100/trunk/reading/read/aiRev99.pdf">Genetic Algorithms for the Travelling Salesman Problem - A Review of Representations and Operators</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.PartiallyMappedCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.PartiallyMappedCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.PartiallyMappedCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The offspring (children) of the parents.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Chromosomes.ChromosomeExtensions">
             <summary>
             Chromosome extensions.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeExtensions.AnyHasRepeatedGene(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Checks if any of the chromosomes has repeated gene.
             </summary>
             <remarks>
             This can happen when used with a IMutation's implementation that not keep the chromosome ordered, 
             like OnePointCrossover, TwoPointCrossover and UniformCrossover is combined with a ICrossover's implementation
             that need ordered chromosomes, like OX1 and PMX.
             </remarks>
             <returns><c>true</c>, if chromosome has repeated gene, <c>false</c> otherwise.</returns>
             <param name="chromosomes">The chromosomes.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeExtensions.ValidateGenes(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Validates the chromosomes.
             </summary>
             <param name="chromosomes">The chromosomes.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Chromosomes.ChromosomeExtensions.ValidateGenes(GeneticSharp.Domain.Chromosomes.IChromosome)">
             <summary>
             Validates the chromosome.
             </summary>
             <param name="chromosome">The chromosomes.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.StochasticUniversalSamplingSelection">
             <summary>
             Stochastic Universal Sampling.
             <remarks>
             Also know as: Roulette wheel selection.
             Is a kind of Fitness Proportionate Selection. 
             <see href=" http://watchmaker.uncommons.org/manual/ch03s02.html">Fitness-Proportionate Selection</see>
             <para>
             Stochastic Universal Sampling is an elaborately-named variation of roulette wheel selection. 
             Stochastic Universal Sampling ensures that the observed selection frequencies of each individual 
             are in line with the expected frequencies. So if we have an individual that occupies 4.5% of the 
             wheel and we select 100 individuals, we would expect on average for that individual to be selected 
             between four and five times. Stochastic Universal Sampling guarantees this. The individual will be 
             selected either four times or five times, not three times, not zero times and not 100 times. 
             Standard roulette wheel selection does not make this guarantee.
             </para>
             <see href="http://en.wikipedia.org/wiki/Stochastic_universal_sampling">Wikipedia</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.StochasticUniversalSamplingSelection.#ctor">
             <summary>
             Initializes a new instance of the
             <see cref="T:GeneticSharp.Domain.Selections.StochasticUniversalSamplingSelection" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.StochasticUniversalSamplingSelection.PerformSelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Performs the selection of chromosomes from the generation specified.
             </summary>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
             <returns>
             The selected chromosomes.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Selections.TournamentSelection">
             <summary>
             Tournament selection involves running several "tournaments" among a few individuals chosen at random from the population.
             The winner of each tournament (the one with the best fitness) is selected for crossover. 
             <remarks>    
             Selection pressure is easily adjusted by changing the tournament size. 
             If the tournament size is larger, weak individuals have a smaller chance to be selected.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.TournamentSelection.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.TournamentSelection" /> class.
             <remarks>
             The default Size is 2.
             The default AllowWinnerCompeteNextTournament is true.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.TournamentSelection.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.TournamentSelection" /> class.
             <remarks>
             The default AllowWinnerCompeteNextTournament is true.
             </remarks>
             </summary>
             <param name="size">The size of the tournament, in other words, the number of chromosomes that will participate of each tournament until all need chromosomes be selected.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.TournamentSelection.#ctor(System.Int32,System.Boolean)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Selections.TournamentSelection" /> class.
             </summary>
             <param name="size">The size of the tournament, in other words, the number of chromosomes that will participate of each tournament until all need chromosomes be selected.</param>      
             <param name="allowWinnerCompeteNextTournament">If allow any winner in a tournament participate in the next tournament, in other words, if you want to allow a chromosome be selected more the one time.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Selections.TournamentSelection.Size">
             <summary>
             Gets or sets the size of the tournament.
             <remarks>
             In other words, the number of chromosomes that will participate of each tournament until all need chromosomes be selected.
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Selections.TournamentSelection.AllowWinnerCompeteNextTournament">
             <summary>
             Gets or sets a value indicating whether allow any winner in a tournament to participate in the next tournament.
             <remarks>
             In other words, if you want to allow a chromosome be selected more the one time.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Selections.TournamentSelection.PerformSelectChromosomes(System.Int32,GeneticSharp.Domain.Populations.Generation)">
             <summary>
             Performs the selection of chromosomes from the generation specified.
             </summary>
             <param name="number">The number of chromosomes to select.</param>
             <param name="generation">The generation where the selection will be made.</param>
             <returns>
             The selected chromosomes.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.AndTermination">
             <summary>
             An termination where you can combine others ITerminations with a AND logical operator.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.AndTermination.#ctor(GeneticSharp.Domain.Terminations.ITermination[])">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.AndTermination" /> class.
             </summary>
             <param name="terminations">The terminations.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.AndTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
             <returns>
             True if termination has been reached, otherwise false.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.FitnessStagnationTermination">
             <summary>
             Fitness Stagnation Termination.    
             <remarks>
             The genetic algorithm will be terminate when the best chromosome's fitness has no change in the last generations specified.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessStagnationTermination.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.FitnessStagnationTermination" /> class.
             </summary>
             <remarks>
             The ExpectedStagnantGenerationsNumber default value is 100.
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessStagnationTermination.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.FitnessStagnationTermination" /> class.
             </summary>
             <param name="expectedStagnantGenerationsNumber">The expected stagnant generations number to reach the termination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Terminations.FitnessStagnationTermination.ExpectedStagnantGenerationsNumber">
             <summary>
             Gets or sets the expected stagnant generations number to reach the termination.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessStagnationTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.ITermination">
             <summary>
             Defines the interface for a termination condition.
             </summary>
             <remarks>
             <see href="http://en.wikipedia.org/wiki/Genetic_algorithm#Termination">Wikipedia</see> 
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.ITermination.HasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.GenerationNumberTermination">
             <summary>
             Generation number termination.
             <remarks>
             The genetic algorithm will be terminate when reach the expected generation number.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.GenerationNumberTermination.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.GenerationNumberTermination" /> class.
             </summary>
             <remarks>
             The default expected generation number is 100.
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.GenerationNumberTermination.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.GenerationNumberTermination" /> class.
             </summary>
             <param name="expectedGenerationNumber">The generation number to consider the termination has been reached.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Terminations.GenerationNumberTermination.ExpectedGenerationNumber">
             <summary>
             Gets or sets the expected generation number to consider that termination has been reached.
             </summary>
             <value>The generation number.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.GenerationNumberTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase">
             <summary>
             A base class for logical operator terminations.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.#ctor(System.Int32)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" /> class.
             </summary>
             <param name="minOperands">The minimum number of operands.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.#ctor(GeneticSharp.Domain.Terminations.ITermination[])">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" /> class.
             </summary>
             <param name="terminations">The terminations.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.Terminations">
             <summary>
             Gets the terminations.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.AddTermination(GeneticSharp.Domain.Terminations.ITermination)">
             <summary>
             Adds the termination.
             </summary>
             <param name="termination">The termination.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.HasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
             <returns>
             True if termination has been reached, otherwise false.
             </returns>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.ToString">
             <summary>
             Returns a <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" />.
             </summary>
             <returns>A <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" />.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
             <returns>
             True if termination has been reached, otherwise false.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.OrTermination">
             <summary>
             An termination where you can combine others ITerminations with a OR logical operator.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.OrTermination.#ctor(GeneticSharp.Domain.Terminations.ITermination[])">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.OrTermination" /> class.
             </summary>
             <param name="terminations">The terminations.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.OrTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
             <returns>
             True if termination has been reached, otherwise false.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.TerminationBase">
             <summary>
             Base class for ITerminations implementations.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationBase.HasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationBase.ToString">
             <summary>
             Returns a <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" />.
             </summary>
             <returns>A <see cref="T:System.String" /> that represents the current <see cref="T:GeneticSharp.Domain.Terminations.LogicalOperatorTerminationBase" />.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationBase.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.TimeEvolvingTermination">
             <summary>
             Time Evolving Termination.
             <remarks>
             The genetic algorithm will be terminate when the evolving exceed the max time specified.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TimeEvolvingTermination.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.TimeEvolvingTermination" /> class.
             </summary>
             <remarks>
             The default MaxTime is 1 minute.
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TimeEvolvingTermination.#ctor(System.TimeSpan)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.TimeEvolvingTermination" /> class.
             </summary>
             <param name="maxTime">The execution time to consider the termination has been reached.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Terminations.TimeEvolvingTermination.MaxTime">
             <summary>
             Gets or sets the execution max time.
             </summary>
             <value>The max time.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TimeEvolvingTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.TerminationService">
             <summary>
             Termination service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationService.GetTerminationTypes">
             <summary>
             Gets available termination types.
             </summary>
             <returns>All available termination types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationService.GetTerminationNames">
             <summary>
             Gets the available termination names.
             </summary>
             <returns>The termination names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationService.CreateTerminationByName(System.String,System.Object[])">
             <summary>
             Creates the ITermination's implementation with the specified name.
             </summary>
             <returns>The ITermination's implementation instance.</returns>
             <param name="name">The ITermination name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.TerminationService.GetTerminationTypeByName(System.String)">
             <summary>
             Gets the termination type by the name.
             </summary>
             <returns>The termination type.</returns>
             <param name="name">The name of termination.</param>
            </member>
        <member name="T:GeneticSharp.Domain.GeneticAlgorithmState">
             <summary>
             The possible states for a genetic algorithm.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithmState.NotStarted">
             <summary>
             The GA has not been started yet.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithmState.Started">
             <summary>
             The GA has been started and is running.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithmState.Stopped">
             <summary>
             The GA has been stopped and is not running.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithmState.Resumed">
             <summary>
             The GA has been resumed after a stop or termination reach and is running.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithmState.TerminationReached">
             <summary>
             The GA has reach the termination condition and is not running.
             </summary>
            </member>
        <member name="T:GeneticSharp.Domain.GeneticAlgorithm">
             <summary>
             A genetic algorithm (GA) is a search heuristic that mimics the process of natural selection. 
             This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions 
             to optimization and search problems. Genetic algorithms belong to the larger class of evolutionary 
             algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, 
             such as inheritance, mutation, selection, and crossover.
             <para>
             Genetic algorithms find application in bioinformatics, phylogenetics, computational science, engineering, 
             economics, chemistry, manufacturing, mathematics, physics, pharmacometrics, game development and other fields.
             </para>
             <see href="http://http://en.wikipedia.org/wiki/Genetic_algorithm">Wikipedia</see>
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithm.DefaultCrossoverProbability">
             <summary>
             The default crossover probability.
             </summary>
            </member>
        <member name="F:GeneticSharp.Domain.GeneticAlgorithm.DefaultMutationProbability">
             <summary>
             The default mutation probability.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.#ctor(GeneticSharp.Domain.Populations.IPopulation,GeneticSharp.Domain.Fitnesses.IFitness,GeneticSharp.Domain.Selections.ISelection,GeneticSharp.Domain.Crossovers.ICrossover,GeneticSharp.Domain.Mutations.IMutation)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.GeneticAlgorithm" /> class.
             </summary>
             <param name="population">The chromosomes population.</param>
             <param name="fitness">The fitness evaluation function.</param>
             <param name="selection">The selection operator.</param>
             <param name="crossover">The crossover operator.</param>
             <param name="mutation">The mutation operator.</param>
            </member>
        <member name="E:GeneticSharp.Domain.GeneticAlgorithm.GenerationRan">
             <summary>
             Occurs when generation ran.
             </summary>
            </member>
        <member name="E:GeneticSharp.Domain.GeneticAlgorithm.TerminationReached">
             <summary>
             Occurs when termination reached.
             </summary>
            </member>
        <member name="E:GeneticSharp.Domain.GeneticAlgorithm.Stopped">
             <summary>
             Occurs when stopped.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Population">
             <summary>
             Gets the population.
             </summary>
             <value>The population.</value>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Fitness">
             <summary>
             Gets the fitness function.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Selection">
             <summary>
             Gets or sets the selection operator.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Crossover">
             <summary>
             Gets or sets the crossover operator.
             </summary>
             <value>The crossover.</value>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.CrossoverProbability">
             <summary>
             Gets or sets the crossover probability.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Mutation">
             <summary>
             Gets or sets the mutation operator.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.MutationProbability">
             <summary>
             Gets or sets the mutation probability.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Reinsertion">
             <summary>
             Gets or sets the reinsertion operator.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.Termination">
             <summary>
             Gets or sets the termination condition.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.GenerationsNumber">
             <summary>
             Gets the generations number.
             </summary>
             <value>The generations number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.BestChromosome">
             <summary>
             Gets the best chromosome.
             </summary>
             <value>The best chromosome.</value>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.TimeEvolving">
             <summary>
             Gets the time evolving.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.State">
             <summary>
             Gets the state.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.IsRunning">
             <summary>
             Gets a value indicating whether this instance is running.
             </summary>
             <value><c>true</c> if this instance is running; otherwise, <c>false</c>.</value>
            </member>
        <member name="P:GeneticSharp.Domain.GeneticAlgorithm.TaskExecutor">
             <summary>
             Gets or sets the task executor which will be used to execute fitness evaluation.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Start">
             <summary>
             Starts the genetic algorithm using population, fitness, selection, crossover, mutation and termination configured.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Resume">
             <summary>
             Resumes the last evolution of the genetic algorithm.
             <remarks>
             If genetic algorithm was not explicit Stop (calling Stop method), you will need provide a new extended Termination.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Stop">
             <summary>
             Stops the genetic algorithm..
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.EvolveOneGeneration">
             <summary>
             Evolve one generation.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.EndCurrentGeneration">
             <summary>
             Ends the current generation.
             </summary>
             <returns><c>true</c>, if current generation was ended, <c>false</c> otherwise.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.EvaluateFitness">
             <summary>
             Evaluates the fitness.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.RunEvaluateFitness(System.Object)">
             <summary>
             Runs the evaluate fitness.
             </summary>
             <returns>The evaluate fitness.</returns>
             <param name="chromosome">The chromosome.</param>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.SelectParents">
             <summary>
             Selects the parents.
             </summary>
             <returns>The parents.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Cross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Crosses the specified parents.
             </summary>
             <param name="parents">The parents.</param>
             <returns>The result chromosomes.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Mutate(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Mutate the specified chromosomes.
             </summary>
             <param name="chromosomes">The chromosomes.</param>
            </member>
        <member name="M:GeneticSharp.Domain.GeneticAlgorithm.Reinsert(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Reinsert the specified offspring and parents.
             </summary>
             <param name="offspring">The offspring chromosomes.</param>
             <param name="parents">The parents chromosomes.</param>
             <returns>
             The reinserted chromosomes.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Terminations.FitnessThresholdTermination">
             <summary>
             Fitness Threshold Termination
             <remarks>
             The genetic algorithm will be terminate when the best chromosome reach the expected fitness.
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessThresholdTermination.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.FitnessThresholdTermination" /> class.
             </summary>
             <remarks>
             The default expected fitness is 1.00.
             </remarks>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessThresholdTermination.#ctor(System.Double)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Terminations.FitnessThresholdTermination" /> class.
             </summary>
             <param name="expectedFitness">Expected fitness.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Terminations.FitnessThresholdTermination.ExpectedFitness">
             <summary>
             Gets or sets the expected fitness to consider that termination has been reached.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Terminations.FitnessThresholdTermination.PerformHasReached(GeneticSharp.Domain.IGeneticAlgorithm)">
             <summary>
             Determines whether the specified geneticAlgorithm reached the termination condition.
             </summary>
             <returns>True if termination has been reached, otherwise false.</returns>
             <param name="geneticAlgorithm">The genetic algorithm.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.PopulationService">
             <summary>
             Population service.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PopulationService.GetGenerationStrategyTypes">
             <summary>
             Gets available generation strategy types.
             </summary>
             <returns>All available generation strategy types.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PopulationService.GetGenerationStrategyNames">
             <summary>
             Gets the available generation strategy names.
             </summary>
             <returns>The generation strategy names.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PopulationService.CreateGenerationStrategyByName(System.String,System.Object[])">
             <summary>
             Creates the IGenerationStrategy's implementation with the specified name.
             </summary>
             <returns>The generation strategy implementation instance.</returns>
             <param name="name">The generation strategy name.</param>
             <param name="constructorArgs">Constructor arguments.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.PopulationService.GetGenerationStrategyTypeByName(System.String)">
             <summary>
             Gets the generation strategy type by the name.
             </summary>
             <returns>The generation strategy type.</returns>
             <param name="name">The name of generation strategy.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.PureReinsertion">
             <summary>
             Pure Reinsertion.
             <remarks>
             When there are same number of offspring than parents, select the offspring to be reinserted, the parents are discarded. 
             <see href="http://usb-bg.org/Bg/Annual_Informatics/2011/SUB-Informatics-2011-4-29-35.pdf">Generalized Nets Model of offspring Reinsertion in Genetic Algorithm</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.PureReinsertion.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.PureReinsertion" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.PureReinsertion.PerformSelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.ReinsertionBase">
             <summary>
             Base class for IReinsertion's implementations.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionBase.#ctor(System.Boolean,System.Boolean)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionBase" /> class.
             </summary>
             <param name="canCollapse">If set to <c>true</c> can collapse the number of selected chromosomes for reinsertion.</param>
             <param name="canExpand">If set to <c>true</c> can expand the number of selected chromosomes for reinsertion.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Reinsertions.ReinsertionBase.CanCollapse">
             <summary>
             Gets a value indicating whether can collapse the number of selected chromosomes for reinsertion.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Reinsertions.ReinsertionBase.CanExpand">
             <summary>
             Gets a value indicating whether can expand the number of selected chromosomes for reinsertion.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionBase.SelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionBase.PerformSelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.ReinsertionException">
             <summary>
             Exception throw when an error occurs during the execution of reinsert.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor(GeneticSharp.Domain.Reinsertions.IReinsertion,System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
             <param name="reinsertion">The reinsertion where occurred the error.</param>
             <param name="message">The error message.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor(GeneticSharp.Domain.Reinsertions.IReinsertion,System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
             <param name="reinsertion">The Reinsertion where occurred the error.</param>
             <param name="message">The error message.</param>
             <param name="innerException">The inner exception.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
             <param name="message">The message that describes the error.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor(System.String,System.Exception)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
             <param name="message">The error message that explains the reason for the exception.</param>
             <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ReinsertionException" /> class.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            </member>
        <member name="P:GeneticSharp.Domain.Reinsertions.ReinsertionException.Reinsertion">
             <summary>
             Gets the reinsertion.
             </summary>
             <value>The reinsertion.</value>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ReinsertionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
             <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
             </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
             <PermissionSet>
               <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
               <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
             </PermissionSet>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.UniformReinsertion">
             <summary>
             Uniform Reinsertion.
             <remarks>
             When there are less offspring than parents, select the offspring uniformly at random to be reinserted, the parents are discarded. 
             <see href="http://usb-bg.org/Bg/Annual_Informatics/2011/SUB-Informatics-2011-4-29-35.pdf">Generalized Nets Model of offspring Reinsertion in Genetic Algorithm</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.UniformReinsertion.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.UniformReinsertion" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.UniformReinsertion.PerformSelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.ElitistReinsertion">
             <summary>
             Elitist reinsertion.
             <remarks>
             When there are less offspring than parents, select the best parents to be reinserted together with the offspring. 
             <see href="http://usb-bg.org/Bg/Annual_Informatics/2011/SUB-Informatics-2011-4-29-35.pdf">Generalized Nets Model of offspring Reinsertion in Genetic Algorithm</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ElitistReinsertion.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.ElitistReinsertion" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.ElitistReinsertion.PerformSelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.Reinsertions.FitnessBasedReinsertion">
             <summary>
             Fitness Based Reinsertion.
             <remarks>
             When there are more offspring than parents, select the only the best offspring to be reinserted, the parents are discarded.     
             <see href="http://usb-bg.org/Bg/Annual_Informatics/2011/SUB-Informatics-2011-4-29-35.pdf">Generalized Nets Model of offspring Reinsertion in Genetic Algorithm</see>
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.FitnessBasedReinsertion.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Reinsertions.FitnessBasedReinsertion" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Reinsertions.FitnessBasedReinsertion.PerformSelectChromosomes(GeneticSharp.Domain.Populations.IPopulation,System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome},System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Selects the chromosomes which will be reinserted.
             </summary>
             <returns>The chromosomes to be reinserted in next generation..</returns>
             <param name="population">The population.</param>
             <param name="offspring">The offspring.</param>
             <param name="parents">The parents.</param>
            </member>
        <member name="T:GeneticSharp.Domain.IGeneticAlgorithm">
             <summary>
             Defines a interface for a genetic algorithm.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.IGeneticAlgorithm.GenerationsNumber">
             <summary>
             Gets the generations number.
             </summary>
             <value>The generations number.</value>
            </member>
        <member name="P:GeneticSharp.Domain.IGeneticAlgorithm.BestChromosome">
             <summary>
             Gets the best chromosome.
             </summary>
             <value>The best chromosome.</value>
            </member>
        <member name="P:GeneticSharp.Domain.IGeneticAlgorithm.TimeEvolving">
             <summary>
             Gets the time evolving.
             </summary>
             <value>The time evolving.</value>
            </member>
        <member name="T:GeneticSharp.Domain.Populations.IPopulation">
             <summary>
             Defines an interface for a population of candidate solutions (chromosomes).
             </summary>
            </member>
        <member name="E:GeneticSharp.Domain.Populations.IPopulation.BestChromosomeChanged">
             <summary>
             Occurs when best chromosome changed.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.CreationDate">
             <summary>
             Gets the creation date.
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.Generations">
             <summary>
             Gets the generations.
             <remarks>
             The information of Generations can vary depending of the IGenerationStrategy used.
             </remarks>
             </summary>
             <value>The generations.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.CurrentGeneration">
             <summary>
             Gets the current generation.
             </summary>
             <value>The current generation.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.GenerationsNumber">
             <summary>
             Gets the total number of generations executed.
             <remarks>
             Use this information to know how many generations have been executed, because Generations.Count can vary depending of the IGenerationStrategy used.
             </remarks>
             </summary>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.MinSize">
             <summary>
             Gets or sets the minimum size.
             </summary>
             <value>The minimum size.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.MaxSize">
             <summary>
             Gets or sets the size of the max.
             </summary>
             <value>The size of the max.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.BestChromosome">
             <summary>
             Gets the best chromosome.
             </summary>
             <value>The best chromosome.</value>
            </member>
        <member name="P:GeneticSharp.Domain.Populations.IPopulation.GenerationStrategy">
             <summary>
             Gets or sets the generation strategy.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.IPopulation.CreateInitialGeneration">
             <summary>
             Creates the initial generation.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.IPopulation.CreateNewGeneration(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Creates a new generation.
             </summary>
             <param name="chromosomes">The chromosomes for new generation.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Populations.IPopulation.EndCurrentGeneration">
             <summary>
             Ends the current generation.
             </summary>        
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.OrderBasedCrossover">
             <summary>
             Order-based crossover (OX2).
             <remarks>
             OX2 was suggested in connection with schedule problems, is a modification of the OX1 operator. 
             The OX2 operator selects at random several positions in a parent string, and the order of the elements in the 
             selected positions of this parent is imposed on the other parent. For example, consider the parents 
             (1 2 3 4 5 6 7 8) and (2 4 6 8 7 5 3 1), and suppose that in the second parent in the second, third 
             and sixth positions are selected. The elements in these positions are 4, 6 and 5 respectively. 
             In the first parent, these elements are present at the fourth, fifth and sixth positions. 
             Now the offspring are equal to parent 1 except in the fourth, fifth and sixth positions: (1 2 3 * * * 7 8). 
             We add the missing elements to the offspring in the same order in which they appear in the second parent. 
             This results in (1 2 3 4 6 5 7 8). Exchanging the role of the first parent and the second parent gives, 
             using the same selected positions, (2 4 3 8 7 5 6 1).
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderBasedCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.OrderBasedCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderBasedCrossover.PerformCross(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Performs the cross with specified parents generating the children.
             </summary>
             <param name="parents">The parents chromosomes.</param>
             <returns>The offspring (children) of the parents.</returns>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderBasedCrossover.ValidateParents(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Validates the parents.
             </summary>
             <param name="parents">The parents.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.OrderBasedCrossover.CreateChild(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome,System.Int32[])">
             <summary>
             Creates the child.
             </summary>
             <param name="firstParent">First parent.</param>
             <param name="secondParent">Second parent.</param>
             <param name="swapIndexes">The swap indexes.</param>
             <returns>
             The child.
             </returns>
            </member>
        <member name="T:GeneticSharp.Domain.Crossovers.PositionBasedCrossover">
             <summary>
             Position-based crossover (POS).
             <remarks>
             The position-based crossover operator (POS), which was also suggested in connection with schedule problems, 
             is a second modification of the OX1 operator. It also starts with selecting a random set of positions in 
             the parent strings. However, this operator imposes the position of the selected elements on the 
             corresponding elements of the other parent. For example, consider the parents (1 2 3 4 5 6 7 8) 
             and (2 4 6 8 7 5 3 1), and suppose that the second, third and sixth positions are selected. 
             This leads to the following offspring: (1 4 6 2 3 5 7 8) and (4 2 3 8 7 6 5 1).
             </remarks>
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.PositionBasedCrossover.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:GeneticSharp.Domain.Crossovers.PositionBasedCrossover" /> class.
             </summary>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.PositionBasedCrossover.ValidateParents(System.Collections.Generic.IList{GeneticSharp.Domain.Chromosomes.IChromosome})">
             <summary>
             Validates the parents.
             </summary>
             <param name="parents">The parents.</param>
            </member>
        <member name="M:GeneticSharp.Domain.Crossovers.PositionBasedCrossover.CreateChild(GeneticSharp.Domain.Chromosomes.IChromosome,GeneticSharp.Domain.Chromosomes.IChromosome,System.Int32[])">
             <summary>
             Creates the child.
             </summary>
             <param name="firstParent">First parent.</param>
             <param name="secondParent">Second parent.</param>
             <param name="swapIndexes">The swap indexes.</param>
             <returns>
             The child.
             </returns>
            </member>
    </members>
</doc>
